demo: only set transient if demo returns a toplevel
authorWilliam Jon McCann <william.jon.mccann@gmail.com>
Mon, 9 Dec 2013 08:55:08 +0000 (09:55 +0100)
committerWilliam Jon McCann <william.jon.mccann@gmail.com>
Mon, 9 Dec 2013 08:55:39 +0000 (09:55 +0100)
demos/gtk-demo/main.c

index 9de99cd9376b1ef45c8868278c85aa37ea7155f5..4e239d53949e39d427bd70a856f07ec447d7fd0e 100644 (file)
@@ -142,8 +142,11 @@ activate_run (GSimpleAction *action,
           cbdata->model = model;
           cbdata->path = gtk_tree_model_get_path (model, &iter);
 
-          gtk_window_set_transient_for (GTK_WINDOW (demo), GTK_WINDOW (window));
-          gtk_window_set_modal (GTK_WINDOW (demo), TRUE);
+          if (gtk_widget_is_toplevel (demo))
+            {
+              gtk_window_set_transient_for (GTK_WINDOW (demo), GTK_WINDOW (window));
+              gtk_window_set_modal (GTK_WINDOW (demo), TRUE);
+            }
 
           g_signal_connect (demo, "destroy",
                             G_CALLBACK (window_closed_cb), cbdata);